package com.chixing.day15_map_file.work;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;

/*
    封装了项目中日期相关的操作
    如日期与字符串的转换，获得日期的年月日
*/
public class DateUtil {
    /*
        时间格式："yyyy/MM/dd HH:mm:ss"
    */
    public static final String PATTERN_YMDHMS = "yyyy/MM/dd HH:mm:ss";
    /*
        时间格式："yyyy/MM/dd"
    */
    public static final String PATTERN_YMD = "yyyy-MM-dd";
    /*
        时间格式："HH:mm:ss"
    */
    public static final String PATTERN_HMS = "HH:mm:ss";


    /*
        字符串转化成LocalDateTime日期对象
        2--->to
        4--->for
    */
    public static LocalDateTime stringToLocalDateTime(String str){
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");//pattern模式："yyyy-MM-dd HH:mm:ss"
        return LocalDateTime.parse(str,formatter);
    }

    /*
        字符串转化成LocalDate日期对象
    */
    public static LocalDate stringToLocalDate(String str){
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy/MM/dd");
        return LocalDate.parse(str,formatter);
    }
    /*
        字符串转化成LocalTime日期对象
    */
    public static LocalTime stringToLocalTime(String str){
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH:mm:ss");
        return LocalTime.parse(str,formatter);
    }

    /*
        LocalDateTime日期对象转化成字符串格式
    */
    public static String localDateTimeToString(LocalDateTime localDateTime){
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        return localDateTime.format(formatter);
    }

    /*
        LocalDate日期对象转化成字符串格式
    */
    public static String localDateToString(LocalDate localDate){
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
        return localDate.format(formatter);
    }

    /*
        LocalTime日期对象转化成字符串格式
    */
    public static String localTimeToString(LocalTime localTime){
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH:mm:ss");
        return localTime.format(formatter);
    }

    /*
        两个日期相差的天数，小时，分钟 2天18小时46分钟 就开始了
    */


}
